home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1997-01-29 | 5.7 KB | 209 lines |
- 10 'MINIQUAD - Coil Shortened Quad Antenna - 13 NOV 94 rev. 29 SEP 96
- 20 COMMON U,UH,EX$,PROG$
- 30 IF EX$=""THEN EX$="EXIT"
- 40 PROG$="miniquad"
- 50 CLS:KEY OFF
- 60 COLOR 7,0,1
- 70 PI=3.14159
- 80 UL$=STRING$(80,205)
- 90 U1$="##.##"
- 100 U2$="###.###"
- 110 U3$="##.#"
- 120 '
- 130 '.....AWG calculator
- 140 DIM GA(40) 'AWG gauge
- 150 K=(0.46/0.005)^(1/39) 'increment multiplier
- 160 FOR Z=1 TO 40
- 170 N=Z+3
- 180 GA(Z)=0.46/K^N
- 190 NEXT Z
- 200 '
- 210 '.....start
- 220 CLS
- 230 COLOR 15,2
- 240 PRINT " MINIQUAD - Coil Shortened Quad Antenna";
- 250 PRINT TAB(52);"by Kris Merschrod KA2OIG/TI2 ";
- 260 PRINT STRING$(80,32);
- 270 LOCATE CSRLIN-1,20:PRINT "edited for HAMCALC by George Murphy VE3ERP"
- 280 COLOR 1,0:PRINT STRING$(80,223);
- 290 COLOR 7,0
- 300 '
- 310 '.....print diagram
- 320 T=59:COLOR 0,7
- 330 PRINT " DIRECTOR "; TAB(T);" REFLECTOR ";
- 340 PRINT " VARPTRORORORORSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDORORORORCOLOR "; TAB(T);"VARPTRORORORORSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDORORORORCOLOR ";
- 350 PRINT " CALL L1 L2 CALL "; TAB(T);"CALL L5 L6 CALL ";
- 360 PRINT " CALLDEFSNGSOUNDSOUNDSOUNDSOUNDSOUNDSOUND W SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDDEFDBLCALL "; TAB(T);"CALLDEFSNGSOUNDSOUNDSOUNDSOUND 1.05W SOUNDSOUNDSOUNDSOUNDDEFDBLCALL ";
- 370 PRINT " CALL CALL "; TAB(T);"CALL CALL ";
- 380 PRINT " CALL H "; TAB(T);"CALL 1.05H ";
- 390 PRINT " CALL CALL "; TAB(T);"CALL CALL ";
- 400 PRINT " CALL CALL "; TAB(T);"CALL CALL ";
- 410 PRINT " CLSORORORORSOUNDSOUNDSOUNDCOLOR VARPTRSOUNDSOUNDSOUNDOROROROR' "; TAB(T);"CLSORORORORSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDOROROROR' ";
- 420 PRINT " L3 L4 "; TAB(T);" L7 L8 ";
- 430 COLOR 7,0
- 440 FOR X=4 TO 13
- 450 LOCATE X,26:PRINT STRING$(30,32)
- 460 NEXT X
- 470 LOCATE 14:PRINT UL$;
- 480 '
- 490 GOSUB 1900 'preface
- 500 PRINT UL$;
- 510 COLOR 0,7:LOCATE CSRLIN,22
- 520 PRINT " Press 1 to continue or 0 to EXIT....."
- 530 COLOR 7,0
- 540 Z$=INKEY$:IF Z$=""THEN 540
- 550 IF Z$="0"THEN CLS:RUN EX$
- 560 IF Z$="1"THEN 590
- 570 GOTO 330
- 580 '
- 590 '.....unit of measure
- 600 VIEW PRINT 15 TO 24:CLS:VIEW PRINT:LOCATE 15
- 610 PRINT " Press number in < > to choose standard units of measure:"
- 620 PRINT UL$;
- 630 PRINT " < 1 > Metric"
- 640 PRINT " < 2 > U.S.A./Imperial"
- 650 Z$=INKEY$
- 660 IF Z$="1"THEN UM=0.3048:UM$=" m.":M$="m":GOTO 690
- 670 IF Z$="2"THEN UM=1:UM$=" ft.":M$="'":GOTO 690
- 680 GOTO 650
- 690 VIEW PRINT 15 TO 24:CLS:VIEW PRINT:LOCATE 15
- 700 '
- 710 '.....data input
- 720 PRINT " Width of Quad (";UM$;")......w= ";:INPUT A:A=A/UM
- 730 COLOR 0,7
- 740 LOCATE 7,11:PRINT USING U1$;A*UM;:PRINT M$;"SOUND"
- 750 LOCATE 7,T+6:PRINT USING U1$;(A*1.05)*UM;:PRINT M$;"SOUND"
- 760 COLOR 7,0
- 770 GOSUB 1740
- 780 '
- 790 PRINT " Height of Quad (";UM$;").....H= ";:INPUT H:H=H/UM
- 800 TEST=A/(H+A)
- 810 IF TEST <=0.5 THEN 870
- 820 PRINT " Height cannot be less than length!"
- 830 PRINT " Press any key to continue....."
- 840 IF INKEY$=""THEN 840
- 850 GOTO 210
- 860 '
- 870 COLOR 0,7
- 880 LOCATE 9,19:PRINT USING U1$;H*UM;:PRINT M$
- 890 LOCATE 9,T+15:PRINT USING U1$;(H*1.05)*UM;:PRINT M$;" "
- 900 COLOR 7,0:GOSUB 1740
- 910 '
- 920 '.....element diameter
- 930 LN=CSRLIN
- 940 PRINT " Press letter in < > to describe size of conductor in sides of quad:"
- 950 PRINT UL$;
- 960 PRINT " < a > Diameter in millimetres"
- 970 PRINT " < b > Diameter in inches"
- 980 PRINT " < c > AWG#"
- 990 Z$=INKEY$
- 1000 IF Z$="a"OR Z$="A"THEN WS$="mm":GOTO 1040
- 1010 IF Z$="b"OR Z$="B"THEN WS$="inches":GOTO 1040
- 1020 IF Z$="c"OR Z$="C"THEN WS$="AWG#":GOTO 1040
- 1030 GOTO 990
- 1040 PRINT " ENTER: Conductor size (";WS$;") ";:INPUT Z
- 1050 IF WS$="mm"THEN DIA=Z/25.4
- 1060 IF WS$="inches"THEN DIA=Z
- 1070 IF WS$="AWG#"THEN AWG=Z:DIA=GA(Z)
- 1080 VIEW PRINT 15 TO 24:CLS:VIEW PRINT:LOCATE 15
- 1090 '
- 1100 '.....frequency
- 1110 INPUT "ENTER: Frequency in MHz ";F
- 1120 WL=300/F 'wavelength
- 1130 TEST2=1005/F
- 1140 IF TEST2>(A*2+H*2)THEN 1190
- 1150 PRINT " This loop is larger than necessary for";F;"MHz operation."
- 1160 PRINT " Press any key to begin again....."
- 1170 IF INKEY$=""THEN 1170
- 1180 GOTO 210
- 1190 GOSUB 1740
- 1200 '
- 1210 '.....calculate inductance
- 1220 A1=A
- 1230 B=A/2
- 1240 A=A+H
- 1250 F1=10^6/(68*PI^2*F^2)
- 1260 F2=LOG(24*((251/F)-B)/DIA)-1
- 1270 F3=((1-(F*B/251))^2)-1
- 1280 F4=(251/F)-B
- 1290 F5=LOG(((24*A/2)-B)/DIA)-1
- 1300 F6=(((F*A/2)-F*B)/251)^2-1
- 1310 F7=A/2-B
- 1320 LMH=F1*((F2*F3/F4)-(F5*F6/F7))
- 1330 '
- 1340 '.....screen display
- 1350 LOCATE 4,27:PRINT "ANTENNA:"
- 1360 LOCATE 5,28:PRINT "Frequency (MHz)....";USING U2$;F
- 1370 LOCATE 6,28:PRINT "Wavelength (metres)";USING U2$;WL
- 1380 IF AWG=0 THEN 1400
- 1390 LOCATE 7,28:PRINT "Conductor (AWG)...#";AWG
- 1400 M$="mm.":IF UM=1 THEN M$="in."
- 1410 Y=UM:IF UM<>1 THEN Y=1/25.4
- 1420 LOCATE 8,28:PRINT "Conductor dia.(";M$;")";USING U2$;DIA/Y
- 1430 LOCATE 10,27:PRINT "L1 - L8:"
- 1440 LOCATE 11,28:PRINT "Inductance (>H)....";USING U2$;LMH
- 1450 '.....notes
- 1460 S1=WL*0.12:S2=WL*0.15:S$="metres" 'element spacing
- 1470 IF UM=1 THEN S1=S1/0.3048:S2=S2/0.3048:S$="feet"
- 1480 LOCATE 15
- 1490 PRINT " Notes:"
- 1500 PRINT " THENTHENTHENTHENTHENTHEN"
- 1510 PRINT " 1. Antenna can be fed directly with 50- or 75- coaxial cable."
- 1520 PRINT " 2. The use of a Transmatch ('antenna tuner') is recommended."
- 1530 PRINT " 3. Space director and reflector elements from ";USING"##.#";S1;
- 1540 PRINT " to ";USING "##.#";S2;:PRINT " ";S$;" apart."
- 1550 PRINT " 4. Adjust element spacing for minimum SWR."
- 1560 PRINT " 5. Prune vertical sides for minimum SWR.";
- 1570 PRINT " 6. Do not alter the coils or prune horizontal sides."
- 1580 GOSUB 1960 'screen dump
- 1590 GOSUB 1740 'clear bottom of screen
- 1600 PRINT " Press number in <> to:"
- 1610 PRINT UL$;
- 1620 PRINT " <1> Design coils for this quad"
- 1630 PRINT " <2> Select commercial (B&W) coils for this quad"
- 1640 PRINT " <3> Design another quad"
- 1650 PRINT
- 1660 PRINT " <0) EXIT program"
- 1670 Z$=INKEY$
- 1680 IF Z$="1"THEN CLS:UH=LMH:CHAIN"coildsgn"
- 1690 IF Z$="2"THEN CLS:U=LMH:CHAIN"aircore"
- 1700 IF Z$="3"THEN 210
- 1710 IF Z$="0"THEN CLS:RUN EX$
- 1720 GOTO 1670
- 1730 '
- 1740 '.....clear screen
- 1750 VIEW PRINT 15 TO 24:CLS:VIEW PRINT:LOCATE 15
- 1760 RETURN
- 1770 '
- 1780 '.....preface
- 1790 TB=7
- 1800 PRINT TAB(TB);
- 1810 PRINT "Adapted from a program by D. Sander, CQ magazine, Dec.1981, p.44."
- 1820 PRINT
- 1830 PRINT TAB(TB);
- 1840 PRINT "See THE ARRL ANTENNA COMPENDIUM, Volume 2, page 90, for a detailed"
- 1850 PRINT TAB(TB);
- 1860 PRINT "description of this antenna by Kris Merschrod, KA2OIG/TI2."
- 1870 PRINT UL$;
- 1880 RETURN
- 1890 '
- 1900 '.....preface
- 1910 OPEN"I",1,"\data\docfiles\antenna.doc"
- 1920 IF EOF(1)THEN 1940
- 1930 INPUT#1,NOTE$:PRINT " ";NOTE$:GOTO 1920
- 1940 CLOSE:RETURN
- 1950 '
- 1960 'HARDCOPY
- 1970 GOSUB 2080:LOCATE 25,2:COLOR 14,6
- 1980 PRINT " Press 1 to print screen, 2 to print screen & ";
- 1990 PRINT "advance paper, or 3 to continue.";:COLOR 7,0
- 2000 Z$=INKEY$:IF Z$="3"THEN GOSUB 2080:RETURN
- 2010 IF Z$="1"OR Z$="2"THEN GOSUB 2080:GOTO 2030
- 2020 GOTO 2000
- 2030 FOR QX=1 TO 24:FOR QY=1 TO 80
- 2040 LPRINT CHR$(SCREEN(QX,QY));
- 2050 NEXT QY:NEXT QX
- 2060 IF Z$="2"THEN LPRINT CHR$(12)
- 2070 GOTO 1970
- 2080 LOCATE 25,1:PRINT STRING$(80,32);:RETURN
-